Spread spectrum systems use wide-band, low spectral density signals to transmit information in such a manner as to make the signals appear to be noise. The term ‘spread spectrum’ refers to the fact that the transmitted signal bandwidth is greater than the information bandwidth, and the information signals are ‘spread’ across the transmitted signal bandwidth.
Spread spectrum signals use codes that dictate the manner in which the data transmission signals are spread across the spectrum used to transmit the signals. These codes may be referred to as pseudo-random noise (pseudo-noise) codes, because while they appear to be white noise, they are actually specific codes used to modulate the carrier signal at the transmitter and the receiver. Detection and analysis of the codes allows the codes to be used to identify data values, detect specific events, etc.
Currently, spread spectrum systems mainly follow one of two techniques of spreading. The first is usually referred to as direct sequence spread spectrum, or DSSS. The second technique of frequency spreading may be referred to as frequency hopping. Frequency hopping spread spectrum systems generally divide the available bandwidth into some number of channels and then hop between these channels according to the pseudo-noise code.
In order for these spread spectrum systems to work, both the transmitter and the receiver need to use the same pseudo-noise codes. Currently, a receiver responds to a small set of known pseudo-noise codes using a piece of dedicated hardware with storage for the reference codes. Generally, a correlation function generates a comparison of a full 64-bit reference code against an over sampled received input stream at every clock and the counting the bit matches. A high or low peak occurs in the match count when the two overlap. Supporting multiple pseudo-noise codes requires comparison of multiple 64-bit reference codes for each sample point of the received input stream.
Large amounts of logic are required to create 64-bit, parallel comparators. Expanding the set of codes has a large, negative impact on the logic area and complexity required. This increases the power consumption of the devices, which is detrimental for many portable wireless devices with limited power consumption requirements that are often the users of spread spectrum communications.
In addition, current spread spectrum systems have a requirement that the receiver and transmitter both know the pseudo-noise code being used. Systems that have to perform a comparison have a set of ‘good’ or valid pseudo-noise codes against which to compare. There exists no current way for a transmitter to talk to a receiver without both ends having the proper code in some form prior to transmission.